package EJBCrudProductos;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import Modelo.Producto;

/**
 * Session Bean implementation class EjbArrProd
 */
@Stateless(name="EJBLocal", mappedName="EJBLocal")
public class EjbArrProd implements EjbArrProdLocal {

    
	@PersistenceContext(unitName="JPADBTarea11")
	private EntityManager entityManager;
	
    public EjbArrProd() {
        // TODO Auto-generated constructor stub
    }

	public void agregar(Producto p) {
		entityManager.persist(p);
		
	}

	public void eliminar(int id) {
		Producto p = entityManager.find(Producto.class, id);
		entityManager.remove(p);
		
	}

	public void modificar(Producto pNew) {
		Producto pOld = entityManager.find(Producto.class, pNew.getId());
		pOld.setNombre(pNew.getNombre());
		pOld.setPrecio(pNew.getPrecio());
		pOld.setDescripcion(pNew.getDescripcion());
		pOld.setCategoria(pNew.getCategoria());
		pOld.setStock(pNew.getStock());
		
		
	}

	public Producto consultar(int id) {
		Producto p = entityManager.find(Producto.class, id);
		return p;
	}

	public List<Producto> obtenerArreglo() {
		Query q = entityManager.createQuery("Select p from Producto p");
		List<Producto> arrProducto = (List<Producto>)q.getResultList();
		return arrProducto;
	}
	
	public List<Producto> obtenerProdDisp() {
		Query q = entityManager.createQuery("Select p from Producto p where p.stock > 0");
		List<Producto> arrProducto = (List<Producto>)q.getResultList();
		return arrProducto;
	}

}
